#ifndef SERVERSIDESINBAD_H
#define SERVERSIDESINBAD_H

#define NUM_ANIMS 13           // number of animations the mPlayer has
#define CHAR_HEIGHT 5          // height of mPlayer's center of mass above ground
#define CAM_HEIGHT 2           // height of camera above mPlayer's center of mass
#define RUN_SPEED 17           // mPlayer running speed in units per second
#define TURN_SPEED 500.0f      // mPlayer turning in degrees per second
#define ANIM_FADE_SPEED 7.5f   // animation crossfade speed in % of full weight per second
#define JUMP_ACCEL 30.0f       // mPlayer jump acceleration in upward units per squared second
#define GRAVITY 90.0f          // gravity in downward units per squared second

#include "serverSideShape.h"
#include "../client/serverSideClient.h"

class ServerSidePlayer : public ServerSideShape
{

public:

ServerSidePlayer(ServerSideClient* client, std::string name, int xPos, int yPos, int zPos);
~ServerSidePlayer();

//movement
virtual void processTick();
void calculateVelocity(ServerSideCommand *command, float frametime);
void setKeyDirection();
virtual void addTime(float time) { bool donothing; }

//associated client
ServerSideClient* mClient;
Vector3D mKeyDirection;

};

#endif

